package main

import "fmt"

type Msg struct {
	content string
	from    string
}

func main() {
	// chan 是go的协程之间通信的数据类型（自带锁）
	var ch = make(chan int, 3)
	// 插入值
	ch <- 11
	ch <- 12
	ch <- 13

	// 取值
	fmt.Println(<-ch)
	fmt.Println(<-ch)
	fmt.Println(<-ch)

	var ch02 = make(chan interface{}, 3)
	ch02 <- "hello"
	ch02 <- true
	ch02 <- Msg{content: "hello", from: "baim0"}

	fmt.Println(<-ch02)
	fmt.Println(<-ch02)
	fmt.Println((<-ch02).(Msg).content)

}
